📝 Cheatsheet APIs REST: Métodos HTTP

Nota: Este guia é útil tanto para iniciantes quanto para quem precisa de uma referência rápida sobre APIs REST e métodos HTTP.


🔹 1. Conceitos básicos

REST (Representational State Transfer) é um estilo arquitetural para comunicação entre sistemas distribuídos via HTTP.


🔹 2. Semântica dos métodos HTTP

🔑 Seguir a semântica correta facilita manutenção, integração com clientes, cache, proxies e segurança.

Mesmo que tudo possa ser feito com GET/POST, usar cada método corretamente é boa prática REST.


🔹 3. Tabela comparativa de métodos

Método Função principal Idempotente? Exemplo de uso Emoji Representativo
GET Ler dados /tasks → lista de tarefas 👀
POST Criar dados /tasks → cria nova tarefa
PUT Substituir dados /tasks/2 → atualiza totalmente a tarefa 2 ✏️
PATCH Atualizar parcialmente ✅/❌ /tasks/2 → altera apenas o status da tarefa 🔄
DELETE Remover dados /tasks/2 → deleta a tarefa 2

🔹 4. Analogia com CRUD


Create → POST ➕
Read   → GET 👀
Update → PUT/PATCH ✏️/🔄
Delete → DELETE ❌

Essa analogia ajuda a mapear rapidamente ações comuns em APIs REST.

🔹 5. Explicação individual e exemplos

GET 👀

Ler dados sem alterar o estado do servidor.

GET /tasks 200 OK [ {"id":1,"title":"Estudar REST","done":false}, {"id":2,"title":"Fazer exercício","done":true} ]

Idempotente: ler repetidamente o mesmo recurso retorna o mesmo resultado.


POST ➕

Criar novos recursos.

POST /tasks Content-Type: application/json { "title": "Fazer exercício", "done": false } 201 Created

Não idempotente: duas requisições criam dois recursos distintos.


PUT ✏️

Substituir totalmente um recurso existente.

PUT /tasks/1 Content-Type: application/json { "title": "Estudar REST avançado", "done": true } 200 OK

Idempotente: aplicar várias vezes o mesmo conteúdo mantém o mesmo estado.


PATCH 🔄

Atualizar parcialmente um recurso.

PATCH /tasks/1 Content-Type: application/json { "done": true } 200 OK

DELETE ❌

Remover um recurso.

DELETE /tasks/1 204 No Content

Idempotente: deletar repetidamente não altera o estado adicionalmente.


🔹 6. Boas práticas rápidas

⚠️ Dicas para projetar APIs REST claras e seguras:


🧭 Leituras adicionais